Job的终止和清理

您所在的位置:网站首页 k8s job和pod Job的终止和清理

Job的终止和清理

2023-03-09 18:23| 来源: 网络整理| 查看: 265

免费 Kubernetes教程K8S教程,绝不降低品质 只要一个 Github Star (opens new window) 就可以鼓励作者尽快完成 剩下的 15% 在线答疑 方式见页尾 Kuboard - 快速在 Kubernetes 落地微服务 # Job的终止和清理 CKA 考试 九五折优惠申请 CKA 考试,优惠码为: Affkub95-268483 现在报名 广告

当 Job 完成后:

将不会创建新的 Pod 已经创建的 Pod 也不会被清理掉。此时,您仍然可以继续查看已结束 Pod 的日志,以检查 errors/warnings 或者其他诊断用的日志输出 Job 对象也仍然保留着,以便您可以查看该 Job 的状态 由用户决定是否删除已完成的 Job 及其 Pod 可通过 kubectl 命令删除 Job,例如: kubectl delete jobs/pi 或者 kubectl delete -f https://kuboard.cn/statics/learning/job/job.yaml 删除 Job 对象时,由该 Job 创建的 Pod 也将一并被删除

Job 通常会顺利的执行下去,但是在如下情况可能会非正常终止:

某一个 Pod 执行失败(且 restartPolicy=Never) 或者某个容器执行出错(且 restartPolicy=OnFailure) 此时,Job 按照 处理Pod和容器的失败 中 .spec.bakcoffLimit 描述的方式进行处理 一旦重试次数达到了 .spec.backoffLimit 中的值,Job 将被标记为失败,且尤其创建的所有 Pod 将被终止 Job 中设置了 .spec.activeDeadlineSeconds。该字段限定了 Job 对象在集群中的存活时长,一旦达到 .spec.activeDeadlineSeconds 指定的时长,该 Job 创建的所有的 Pod 都将被终止,Job 的 Status 将变为 type:Failed 、 reason: DeadlineExceeded

TIP

Job 中 .spec.activeDeadlineSeconds 字段的优先级高于 .spec.backoffLimit。因此,正在重试失败 Pod 的 Job,在达到 .spec.activeDeadlineSecondes 时,将立刻停止重试,即使 .spec.backoffLimit 还未达到。

例如:

 

apiVersion: batch/v1 kind: Job metadata: name: pi-with-timeout spec: backoffLimit: 5 activeDeadlineSeconds: 100 template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: Never 1234567891011121314

注意

Job 中有两个 activeDeadlineSeconds: .spec.activeDeadlineSeconds 和 .spec.template.spec.activeDeadlineSeconds(参考 Pod)。请不要混淆了

免费答疑 QQ群 kuboard for kubernetes (k8s)

Kubernetes教程:QQ群在线答疑

微信群 微信扫码 进群发广告者死全家...

赞赏 微信扫码

更新时间: 2019-11-04 21:54:51

← 处理Pod和容器的失败 Job的自动清理 →

Copyright © 2019-present 邵欢庆 京ICP备19008693号-2 友情链接: SpringBlade Linux Foundation


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3